package com.dgut.staffmodule.service;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.repository.query.Param;

import com.dgut.staffmodule.entity.Staff;
import com.dgut.staffmodule.entity.StaffEditDTO;

public interface IStaffService {
	public boolean saveOrUpdate(Staff staff);// ,Long departmentId

	public boolean save(StaffEditDTO staffEditDTO);// 保存新增信息

	public void update(StaffEditDTO staff);// 保存更改信息

	public void delete(Staff staff);// 删除单个员工

	public void delete(List<Long> ids);// 批量删除员工

	public Staff findOne(Long id);// 查找一个员工

	public List<Staff> findAll();// 查找所有员工

	public Page<Staff> findPage(Specification<Staff> spec, Pageable pageable); // 动态条件查询

	public int findByDeptId(Long id);// 查找每个部门的人数

	public Staff findByStaffName(String staffName);// 通过姓名查找员工

	// 查找部门总监
	// public Staff findDepartmentLeader(Long id);

	// 查找部门总监
	public List<String> findDepartmentLeader(String userName);

	// 查找人事管理员
	public String findHRLeader();

	// 批量保存staffList
	public boolean multiSave(List<Staff> staffLists);

	public int totalSex(String sex);

	public List<Staff> findBySex2(String sex);//分性别查找
}
